package com.sisgesbyte.dao.proyeccion;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import com.sisgesbyte.data.entity.proyeccion.ProyeccionTotalEntity;
import com.sisgesbyte.data.util.AbstractFacade;

@Stateless
public class ConsultaTotalProyeccionDaoImpl  extends AbstractFacade<ProyeccionTotalEntity> implements ConsultaTotalProyeccionDao {

	@PersistenceContext(unitName = "SigesSiscompPU")
	private EntityManager em;

	@Override
	protected EntityManager getEntityManager() {
		return em;
	}
	
	public ConsultaTotalProyeccionDaoImpl(){
		super(ProyeccionTotalEntity.class);
	}
	
	@Override
	public ProyeccionTotalEntity totalProyeccion() {
		StringBuilder jpql = new StringBuilder();
		jpql.append("SELECT sum(monto_proyectado) total_proyeccion FROM proyeccion.proyeccion_periodo");
		Query query = em.createNativeQuery(jpql.toString(), ProyeccionTotalEntity.class);

		return (ProyeccionTotalEntity) query.getSingleResult();
	}

}
